The invention relates generally to a method and system for improving the accuracy of calculation of rotation dependent parameters in a system that senses multiple pulses associated with shaft rotation and more specifically for improving the accuracy of speed-and acceleration readings from pulse rate sensors on a rotating shaft of rotating equipment, such as turbines. However, the invention is applicable to any rotating device that needs multiple speed, velocity, or acceleration readings per revolution (e.g., engines, generators and drive shafts).
Previous methods for measurement of speed have been addressed, for example, by U.S. Pat. No. 4,434,470 by Robert C. Thomas et al. Thomas et al. describes a method for calculation of speed in Revolutions Per Minute (RPM) using speed pulses. A digital speed measurement circuit for an engine includes a magnetic pick-up positioned adjacent to an engine-driven gear having a substantial number of teeth so the pick-up produces a number of speed pulses per revolution of the gear. These pulses are shaped into square waves by a signal conditioning circuit and connected through a synchronizing circuit, which responds to the trailing edge of each square wave to produce a triggering pulse, with each triggering pulse supplied to a tooth counter. A high-speed clock is connected to a second counter, which is reset with each triggering pulse. Sampling pulses are produced in an associated control system which is not coordinated with the speed pulse but which are longer in duration than any of the speed pulses and which control the flow of tooth counts to the tooth counter. Memory circuits retain the speed counters measuring the intervals between a triggering pulse and the beginning of a sampling pulse and between the end of the sampling pulse and the triggering pulse immediately preceding. Another counter counts the high-speed counts occurring during the sampling pulse period. These factors are combined as described to provide a high-speed count of a new measuring interval exactly related to the speed pulse and which is combined with the speed pulse count to provide a digital signal which accurately represents a desired function of engine rotational speed.
However, other parameters that are also rotation dependent may be measured using a sensor tied to the rotation. For example, a flow meter may depend upon the rotation of a volumetric-related device, the flowrate being related directly to a measure (speed) of rotation of the device. Where the measure of speed of rotation of the device is based on the passing of teeth of a speed wheel, the flowrate measurement will be similarly dependent on the passing of teeth.
The SPEEDTRONIC* (*SPEEDTRONIC is a trademark of the GENERAL ELECTRIC Company) MK VI-e Turbine Control System utilizes a speed or tooth wheel for sensing speed related parameters for a turbine control system. A stream of pulses, typically from a magnetic pickup sensor positioned over the tooth wheel or from a flow rate sensor, is generated as the sensor passes an edge of the tooth.
FIG. 1 illustrates an exemplary system 100 for frequency, speed and acceleration measurements using a speedwheel. The speedwheel 10 rotates in a known relationship to the rotation of the shaft of the equipment being monitored. The illustrative example shows a speedwheel 10 with eight teeth 15. A magnetic pickup sensor 25 senses a passing an edge 20 of each tooth 15 and generates analog pulses (not shown) These analog pulses are converted by hardware (not shown) into digital pulses 30, which feed into the input of a field programmable gate array (FPGA) 40 or other equivalent hardware device.
The FPGA 40 contains a 25.0 MHz clock 60 and a 32 bit free-running counter 60. The value from the free-running counter 60 is latched into a 32 bit latch 70 whenever a rising edge of the pulse input occurs (a falling edge may be used as well).
Elements of the 32 bit latch 70 contain a 32-bit value of the 25.0 MHZ free-running counter 60 that is captured when a tooth edge of a toothed speed wheel 10 is sensed. These elements will be referred to as TICS. The CPU 80 uses the contents of the 32 bit latch to calculate frequency, speed and acceleration. When a read 90 is performed by the CPU 80, the elements are assigned a time stamp and made available in a circular list of time stamps 105. The arrows 110-114 on the circular list of time stamps 105 represent specific events being picked off for determination of individual rotation-related parameters. For example, arrows 110-111 represent the time stamps associated with two successive events (the sensing of tooth edges) upon which a calculation to determine frequency 120 will be performed. Similarly, arrows 110/112, and 113/114 represent the time stamps for the two events providing inputs for speed calculations associated with speed signals 125 and 130, upon which an acceleration signal 145 will be calculated. The above describes a current method of implementation of pulse sensing, storage and recovery, however, such a process may be implemented by various other hardware and software combinations, as known in the art.
Equation 1 describes the frequency (Freq) of the speed wheel rotation in Teeth/Sec, where TICS represents elements of the 32 bit latch 60 storing counter values associated with pulses, tn represents a pointer to the latest TIC entry in the 32 bit latch elements, and tn−1 is the pointer one entry back from tn. The Freq is calculated as the inverse of the difference between TIC readings (in counts) at successive pulse edges (at tn and tn−1) divided by the 2500000 (count value for a full second of the 25 MHz counter).
                              Freq          ⁡                      (            Hz            )                          =                              1                                                                                                      (                                                                        TICS                          ⁡                                                      [                                                          t                              n                                                        ]                                                                          -                                                                                                                                                                                TICS                        ⁡                                                  [                                                      t                                                          n                              -                              1                                                                                ]                                                                    )                                                                                  25000000                                ⁢                      (                          Teeth              Sec                        )                                              Equation        ⁢                                  ⁢        1            
Equations 2 and 3 describe the speed of the turbine over two successive intervals determined by the TICs at three successive pulses (Speed1 determined by TICs at tn and tn−1 and Speed0 determined by the TICs at tn−1 and tn−2).
                              Speed          1                =                              1                                                                                                      (                                                                        TICS                          ⁡                                                      [                                                          t                              n                                                        ]                                                                          -                                                                                                                                                                                TICS                        ⁡                                                  [                                                      t                                                          n                              -                              1                                                                                ]                                                                    )                                                                                  25000000                                ⁢                      (                          Teeth              Sec                        )                                              Equation        ⁢                                  ⁢        2                                          Speed          0                =                              1                                                                                                      (                                                                        TICS                          ⁡                                                      [                                                          t                                                              n                                -                                1                                                                                      ]                                                                          -                                                                                                                                                                                TICS                        ⁡                                                  [                                                      t                                                          n                              -                              2                                                                                ]                                                                    )                                                                                  25000000                                ⁢                      (                          Teeth              Sec                        )                                              Equation        ⁢                                  ⁢        3            
Equation 4 describes the acceleration of the turbine as the difference between two successive speed calculations (Speed1−Speed0) divided by the period for the associated three successive pulses.
                              Acceleration          ⁡                      (                          Hz              Sec                        )                          =                                                            Speed                1                            -                              Speed                0                                                                                      (                                                            TICS                      ⁡                                              [                                                  t                          n                                                ]                                                              -                                                                                        TICS                    ⁡                                          [                                              t                                                  n                          -                          2                                                                    ]                                                        )                                            25000000                                ⁢                      (                          Teeth                              Sec                2                                      )                                              Equation        ⁢                                  ⁢        4            
The calculated frequency (teeth/sec) and acceleration (teeth/sec2) may then scaled to engineering units (for example Revolution/Minute or Gallons/Hour) by a scaling function 135, and output to a system controller 150. The system controller 150 utilizes the speed input 140 and the acceleration input 145, along with other system inputs (not shown) for turbine control.
The turbine continually controls and maintains its speed, by increasing or decreasing the volume of gas or steam via control valves. These valves are commanded by the control system, which uses the speed calculated from the pulse rate sensor inputs. The inherent assumption in the speed and acceleration equations is that the tooth edges are uniformly distributed around the circumference of the speed wheel. However as shown on a simplified 4 tooth speed wheel in FIG. 2, the distribution of the tooth spacing may not be uniform.
FIG. 3 illustrates the imperfect milling of a typical 60 tooth speed wheel. When the tooth or gear spacing is non-uniform, the time between pulses created by the tooth edges will vary, even though the turbine's shaft speed is constant. If the edges for successive teeth are too close, then the calculated speed will be faster than the actual speed. If the edges for successive teeth are too far apart, then the calculated speed will be slower than the actual speed. An apparent oscillation will occur in the calculated speed when it is assumed that the tooth spacing is uniform, but the tooth spacing is actually non-uniform. This speed variation will cause the control system to continuously correct the turbine's speed, and will cause premature, excessive wear of mechanical control components.
Tooth edge variation of the speed wheel may be corrected by re-machining the teeth in the field to reduce the errors. This corrective action is not cost effective and undesirable.
Other solutions have been proposed for correction of speed calculations. The calculations can be filtered, but this introduces a control lag. The formulas can be changed to use every 2nd, 3rd, 4th TIC, but this results with the same oscillation problem. A more direct solution is to use the same tooth each revolution. That corrects the oscillation problem, but again introduces a lag. At low speeds this lag may be unacceptable.
It would therefore be desirable to provide an algorithm for calculating the speed of the rotating shaft of the rotating equipment such that oscillation, in the calculated speed that results from non-uniform spacing of gear teeth, is eliminated.